diff --git a/setup.py.orig b/setup.py
index a97a755..07ce853 100644
--- a/setup.py.orig
+++ b/setup.py
@@ -1422,13 +1422,13 @@ class PyBuildExt(build_ext):
                         version = line.split()[2]
                         break
             if version >= version_req:
-                if (self.compiler.find_library_file(lib_dirs, 'z')):
+                if (self.compiler.find_library_file(lib_dirs, 'z_pic')):
                     if host_platform == "darwin":
                         zlib_extra_link_args = ('-Wl,-search_paths_first',)
                     else:
                         zlib_extra_link_args = ()
                     exts.append( Extension('zlib', ['zlibmodule.c'],
-                                           libraries = ['z'],
+                                           libraries = ['z_pic'],
                                            extra_link_args = zlib_extra_link_args))
                     have_zlib = True
                 else:
@@ -1442,7 +1442,7 @@ class PyBuildExt(build_ext):
         # crc32 if we have it.  Otherwise binascii uses its own.
         if have_zlib:
             extra_compile_args = ['-DUSE_ZLIB_CRC32']
-            libraries = ['z']
+            libraries = ['z_pic']
             extra_link_args = zlib_extra_link_args
         else:
             extra_compile_args = []
@@ -1991,7 +1991,7 @@ class PyBuildExt(build_ext):
                 print('Header file {} does not exist'.format(ffi_h))
         ffi_lib = None
         if ffi_inc is not None:
-            for lib_name in ('ffi', 'ffi_pic'):
+            for lib_name in ('ffi_pic', ):
                 if (self.compiler.find_library_file(lib_dirs, lib_name)):
                     ffi_lib = lib_name
                     break
